'''
Description: 
Author: Zilu
Date: 2021-11-08 14:32:23
Version: 
LastEditTime: 2021-11-08 15:52:14
LastEditors: Zilu
'''

# 我们可以使用print()输出错误信息，但比较好的做法是使用assert
# 如果 assert 失败（表达式为 False），则抛出AssertionError
# def foo(s):
#     n = int(s)
#     assert n != 0, "n is zero!"
#     return 10 / n

# def main():
#     foo('0')

# main()

# 在终端可以使用 -O 参数忽略代码中的 assert

# 也可以用logging代替print
import logging
import pdb

logging.basicConfig(level=logging.INFO)
def foo(n):
    logging.info('n=%d' % n)
    print(10 / n)

s = '0'
n = int(s)
pdb.set_trace()
foo(n)

# 也可以用pdb调试 > python -m pdb xxx.py
# pdb可以使用set_trace() 放置一个断点，运行程序，会在放置的断点处暂停并进入pdb调试环境
# 当然，更好的方法还是使用编辑器VSCode或者IDE Pycharm

